(Python数字图像处理)彩色图像处理 您所在的位置:网站首页 color adjustment怎么调 (Python数字图像处理)彩色图像处理

(Python数字图像处理)彩色图像处理

2023-09-21 05:35| 来源: 网络整理| 查看: 265

文章目录 一、色调和彩色校正二、色调校正及彩色平衡三、彩色直方图均衡化

-基于Python+OpenCV,实验环境:pycharm+anaconda,参考《数字图像处理》冈萨雷斯第四版(初学图像处理和Python,欢迎指出错误~)

一、色调和彩色校正 彩色图像可以看做不同彩色通道图像的叠加,每一个通道都可以同灰度图像处理一样进行操作。由于numpy的矩阵操作功能很强大,所以处理彩色图像也是比较方便的。

若采用伽马变换,图像较亮,应该选择γ>1,压缩高灰度级,图像较暗,应选择γ1,压缩高灰度级 temp1 = img_gama - np.min(img_gama) img_gama = temp1/np.max(temp1) # 对比度拉伸变换函数 med = np.median(img_orig.astype(np.float32)) # 获取中值M img_temp = 1 / (1 + np.power((140/(img_orig+1e-6)), 4.5)) # 4.5为斜率,交互式选择(感觉med效果不如140) temp2 = img_temp - np.min(img_temp) # 标定到[0~255],才能进行BGR2RGB img_con_str = np.uint8(255*(temp2/np.max(temp2))) # 显示所用的变换函数 x1 = np.linspace(img_orig.min(), img_orig.max(), num=200) y1 = np.power(x1, 1.5) # 伽马函数 x2 = np.linspace(img_orig.min(), img_orig.max(), num=200) y2 = 1 / (1 + np.power((med/(x2+1e-6)), 4.5)) # 对比度拉伸函数 plt.subplot(231), plt.title('原图像'), plt.imshow(cv.cvtColor(img_orig, cv.COLOR_BGR2RGB)), plt.axis('off') plt.subplot(232), plt.title('伽马变换'), plt.imshow(cv.cvtColor(img_gama, cv.COLOR_BGR2RGB)), plt.axis('off') plt.subplot(233), plt.title('对比度拉伸'), plt.imshow(cv.cvtColor(img_con_str, cv.COLOR_BGR2RGB)), plt.axis('off') plt.subplot(235), plt.title('s=r**(1.5)'), plt.plot(x1, y1), plt.grid(), label_def() plt.subplot(236), plt.title('s=1/(1+(M/r)**4)'), plt.plot(x2, y2), plt.grid(), label_def() plt.show()

效果如下: 在这里插入图片描述

二、色调校正及彩色平衡

只经过色调校正并不总能得到满意的结果。常用的处理方法是: (1)色调校正;(2)彩色平衡校正。 比如下图较暗,所以用γ



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有